cs304 assignment 2 solution